// package com.jxb.apo;
//
// import com.jxb.annotations.PreAuthenticated;
// import org.aspectj.lang.ProceedingJoinPoint;
// import org.aspectj.lang.annotation.Around;
// import org.aspectj.lang.annotation.Aspect;
// import org.springframework.stereotype.Component;
// import org.springframework.web.context.request.RequestAttributes;
// import org.springframework.web.context.request.RequestContextHolder;
// import org.springframework.web.context.request.ServletRequestAttributes;
//
// import javax.servlet.http.HttpServletRequest;
// import java.util.ArrayList;
// import java.util.List;
//
// @Aspect//切面注解
// @Component//构成
// public class AuthAspect {
//
//     //TODO
//     //网关将用户信息存入平台缓存，然后每个微服务再进行拦截，判断是否有权限
//     private List<String> per = new ArrayList<>();
//
//     //对权限进行验证
//     @Around("@annotation(preAuthenticated)")
//     public Object AroundAuth(ProceedingJoinPoint joinPoint, PreAuthenticated preAuthenticated) throws Throwable {
//         RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
//         HttpServletRequest request = servletRequestAttributes.getRequest();
//         String tokenInfo = request.getHeader("tokenInfo");
//         Object value = preAuthenticated.value();
//         if (value.equals("permitAll")) {
//             return joinPoint.proceed();
//         }else {
//             //TODO
//             if (tokenInfo.equals(value)) {
//                 return joinPoint.proceed();
//             }
// //            if (per.contains(value)) {
// //                return joinPoint.proceed();
// //            }
//         }
//         System.out.println("Around");
//         throw new Exception("权限不够");
//     }
//
// }
